package com.fg.pro.trade.entity;

import java.util.Date;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;

import java.io.Serializable;

/**
 * 客户(TradeCustomer)表实体类
 *
 * @author makejava
 * @since 2025-08-21 10:05:02
 */
@SuppressWarnings("serial")
@Data
public class TradeCustomer extends Model<TradeCustomer> {
//主键
    private Long id;
//父级别的 customer
    private Long customerParentId;

    private Date createTime;

    private Date updateTime;
//状态 256：是否是可支付的 512：是否是可下单/可收货
    private Integer customerStatus;
//公司id
    private Long customerGroupId;
//商户名称
    private String customerName;
//商户自定义编码
    private String customerCode;
//类型 1：表示虚拟的 customer，对用户不可见 2：实体的社会餐饮类型 5：实体的学生餐饮类型（学校） 6：实体的学生餐饮类型（班级）
    private Integer customerType;
//是否在白名单中
    private Integer customerWhitelist;
//是否审核通过
    private Integer customerReviewed;
//等级 顶层的商户的 level 为 1，次级的商户 level 为 2，以此类推。由后台维护
    private Integer customerLev;
//日期纬度。在账期方式 = 按周期 时有效 0：无 1：按下单日期 2：按收货日期
    private Integer customerDimension;
//结款周期。在账期方式 = 按周期 时有效 0：无 1：日结 2：周结 3：月结
    private Integer customerPeriod;
//账期计算方式 1：按照授信额度 3：日结 4：周结 5：月结 6：自定义 7：按照周期 8：半月结
    private Integer customerCreditType;
//周结/月结起始日。如果是周结，使用 1～7 代表周一到周日；如果是月结，使用 1～31 代表每月几号；其他情况下这个字段没有含义 
    private Integer customerCreditStartDay;
//周结/月结结算日。如果是周结，使用 1～7 代表周一到周日；如果是月结，使用 1～31 代表每月几号；其他情况下这个字段没有含义 
    private Integer customerCreditSettleDay;
//周结/月结算的结算日相对于 weekly_or_monthly_credit_settle_day 的延长时间，单位为天；按周出账的，结款日最多可延迟6天；按月出账的，结款日最多可延迟15天
    private Integer customerCreditDeleyDays;
//未付金额
    private Double customerUnpayAmount;
//可用额度
    private Double customerAvailableAmount;
//税务和发票信息-公司名称
    private String customerInvoiceCompanyName;
//税务和发票信息-财务联系人名称
    private String customerInvoiceContactName;
//财务联系人电话
    private String customerInvoiceContactPhone;
//结算方式 1：先款后货 2：先货后款
    private Integer customerSet;
//是否存在采购规则 0：无 1：是 2：否
    private Integer customerPurchaseRule;
//订单的出库单默认仓ID 仓储
    private Long customerWarehouseId;
//是否Vip 0：无 1：是 2：否
    private Integer customerVip;
//折扣率
    private Integer customerDiscountRate;
//对内对外属性（1-对内，2-对外,3-监狱）
    private Integer customerExportType;
//客户路线
    private String customerRoute;
//风险类型（0-不检测，1-检测）
    private Integer customerRiskType;
//模板类型
    private Integer templateType;
//收货人名称
    private String receiveName;
//司机名称
    private String driverName;
//地址
    private String addDes;
//客户地址
    private String customerAddDes;
//司机电话
    private String driverPhone;



    /**
     * 获取主键值
     *
     * @return 主键值
     */
    @Override
    public Serializable pkVal() {
        return this.id;
    }
}

